home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / dev / misc / WHDLoad_dev.lha / WHDLoad / Src / slave-examples / winditup.asm < prev   
Encoding:
Assembly Source File  |  1999-05-09  |  3.0 KB  |  132 lines

  1. ;*---------------------------------------------------------------------------
  2. ;  :Program.    winditup.asm
  3. ;  :Contents.    Slave for "Wind it up" from XYMOX Project
  4. ;  :Author.    Wepl
  5. ;  :Version.    $Id: winditup.asm 1.4 1999/05/09 14:05:58 jah Exp jah $
  6. ;  :History.    04.09.97 start
  7. ;        09.05.99 adapted for WHDload 10.0
  8. ;  :Requires.    -
  9. ;  :Copyright.    Public Domain
  10. ;  :Language.    68000 Assembler
  11. ;  :Translator.    Barfly V1.131
  12. ;  :To Do.
  13. ;---------------------------------------------------------------------------*
  14.  
  15.     INCDIR    Includes:
  16.     INCLUDE    whdload.i
  17.     INCLUDE    whdmacros.i
  18.  
  19.     IFD BARFLY
  20.     OUTPUT    "dwart:xymox/winditup/WindItUp.Slave"
  21.     BOPT    O+ OG+                ;enable optimizing
  22.     BOPT    ODd- ODe-            ;disable mul optimizing
  23.     BOPT    w4-                ;disable 64k warnings
  24.     SUPER                    ;disable supervisor warnings
  25.     ENDC
  26.  
  27. ;======================================================================
  28.  
  29. _base        SLAVE_HEADER            ;ws_Security + ws_ID
  30.         dc.w    10            ;ws_Version
  31.         dc.w    WHDLF_Disk|WHDLF_NoError ;ws_flags
  32.         dc.l    $fb000            ;ws_BaseMemSize
  33.         dc.l    0            ;ws_ExecInstall
  34.         dc.w    _Start-_base        ;ws_GameLoader
  35.         dc.w    0            ;ws_CurrentDir
  36.         dc.w    0            ;ws_DontCache
  37. _keydebug    dc.b    0            ;ws_keydebug
  38. _keyexit    dc.b    $59            ;ws_keyexit = F10
  39. _expmem        dc.l    0            ;ws_ExpMem
  40.         dc.w    _name-_base        ;ws_name
  41.         dc.w    _copy-_base        ;ws_copy
  42.         dc.w    _info-_base        ;ws_info
  43.  
  44. ;============================================================================
  45.  
  46.     IFND    .passchk
  47.     DOSCMD    "WDate  >T:date"
  48. .passchk
  49.     ENDC
  50.  
  51. _name        dc.b    "Wind it up - Megamix 93",0
  52. _copy        dc.b    "1993 XYMOX Project",0
  53. _info        dc.b    "installed by Wepl",10
  54.         dc.b    "Version 1.4 "
  55.         INCBIN    "T:date"
  56.         dc.b    0
  57.     EVEN
  58.  
  59. ;======================================================================
  60. _Start    ;    A0 = resident loader
  61. ;======================================================================
  62.  
  63.         lea    (_resload,pc),a1
  64.         move.l    a0,(a1)            ;save for later use
  65.  
  66.         move.l    #CACRF_EnableI,d0    ;enable instruction cache
  67.         move.l    d0,d1            ;mask
  68.         jsr    (resload_SetCACR,a0)
  69.  
  70.     ;install keyboard quitter
  71.         bsr    _SetupKeyboard
  72.  
  73. _restart    moveq    #0,d0            ;offset
  74.         move.l    #$5800,d1        ;size
  75.         moveq    #1,d2            ;disk
  76.         lea    $4fc04,a0        ;destination
  77.         move.l    (_resload),a2
  78.         jsr    (resload_DiskLoad,a2)
  79.  
  80.         patch    $50154,_1
  81.         jmp    $50000            ;decrunch
  82.  
  83. _1        patch    $13a4e,_loader
  84.         patch    $21a2,_2
  85.         jmp    $2008
  86.  
  87. _2        patch    $80176,_3
  88.         jmp    $80000            ;decrunch
  89.  
  90. _3        patch    $fa5b2,_loader
  91.         patch    $f012c,_4
  92.         jmp    $f0008
  93.  
  94. _4        clr.w    $526fe            ;preserve ints
  95.         patch    $52880,_5
  96.         jmp    $52500
  97.  
  98. _5        move.w    #250,d2
  99. .wait        waitvb    a0
  100.         dbf    d2,.wait
  101.         bra    _restart
  102.  
  103. _loader        move.w    #200,d2
  104. .wait        waitvb
  105.         dbf    d2,.wait
  106.         mulu    #512*11,d0        ;offset
  107.         mulu    #512*11,d1        ;size
  108.         moveq    #1,d2            ;disk
  109.         move.l    (_resload),a2
  110.         jmp    (resload_DiskLoad,a2)
  111.  
  112. ;--------------------------------
  113.  
  114. _resload    dc.l    0        ;address of resident loader
  115.  
  116. ;--------------------------------
  117.  
  118. _exit        pea    TDREASON_OK
  119.         bra    _end
  120. _debug        pea    TDREASON_DEBUG
  121. _end        move.l    (_resload),-(a7)
  122.         add.l    #resload_Abort,(a7)
  123.         rts
  124.  
  125. ;======================================================================
  126.  
  127.     INCLUDE    Sources:whdload/keyboard.s
  128.  
  129. ;======================================================================
  130.  
  131.     END
  132.